// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
  env: "cytfadmini-1gali3r244372a1f" 
})
const MAX_LIMIT = 100

// 云函数入口函数
// 功能：获取全部已审核视频
exports.main = async (event, context) => {
  // 获取共享环境（“厨余垃圾投放行动”）
  var c1 = new cloud.Cloud({
    resourceAppid: 'wxbfd52ca8da22670f',
    resourceEnv: 'cloud1-4gcsxcql7d341258',
  })
  await c1.init()
  const db = c1.database()
  const _ = db.command  
  // 获取集合记录总数
  const countResult = await db.collection('videoinfo')
  .where({          
    confirm:_.neq('待审核'), //非“待审核”
    ccmark:_.exists(false), //未抽查
    name:event.name,
    block:event.block
   }) 
  .count()
  const total = countResult.total
  // 计算需分几次取
  const batchTimes = Math.ceil(total / 100)
  // 承载所有读操作的 promise 的数组
  const tasks = []
  for (let i = 0; i < batchTimes; i++) {
    const promise = db.collection('videoinfo')
    .where({          
      confirm:_.neq('待审核'), //非“待审核”
      ccmark:_.exists(false), //未抽查
      name:event.name,
      block:event.block
     }) 
     .orderBy('time', 'desc')
    .skip(i * MAX_LIMIT)
    .limit(MAX_LIMIT)
    .get()
    tasks.push(promise)
  }
  // 等待所有
  return (await Promise.all(tasks)).reduce((acc, cur) => {
    return {
      data: acc.data.concat(cur.data),
      errMsg: acc.errMsg,
    }
  })
}